common: image-fdt: correct fdt_blob for IMAGE_FORMAT_LEGACY
authorPeng Fan <[email protected]>
Tue, 24 Nov 2015 08:54:22 +0000 (16:54 +0800)
committerTom Rini <[email protected]>
Sat, 5 Dec 2015 23:22:15 +0000 (18:22 -0500)
If condition of "(load == image_start || load == image_data)" is true,
should use "fdt_addr = load;", but not "fdt_blob = (char *)image_data;",
or fdt_blob will be overridden by "fdt_blob = map_sysmem(fdt_addr, 0);"
at the end of the switch case.

Signed-off-by: Peng Fan <[email protected]>
Cc: Simon Glass <[email protected]>
Cc: Joe Hershberger <[email protected]>
Cc: Max Krummenacher <[email protected]>
Cc: Marek Vasut <[email protected]>
Cc: Suriyan Ramasami <[email protected]>
Cc: Paul Kocialkowski <[email protected]>
Cc: Tom Rini <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
common/image-fdt.c

index 5180a03a61bfdeed9014b651bf83a4cb9ee0b4dc..5e4e5bd914e8757f8e413586143a3067ecb7da37 100644 (file)
@@ -326,7 +326,7 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 
                        if (load == image_start ||
                            load == image_data) {
-                               fdt_blob = (char *)image_data;
+                               fdt_addr = load;
                                break;
                        }